package org.ielts.domain.report;

import org.apache.commons.lang.ArrayUtils;
import org.ielts.domain.LearnStatus;

import com.yifeng.TimePair;

public class StudentQuery extends QueryInfo {
	private boolean onlyVoid;

	public boolean isOnlyVoid() {
		return onlyVoid;
	}

	public void setOnlyVoid(boolean onlyVoid) {
		this.onlyVoid = onlyVoid;
	}

	public void setName(String name) {
		values.put("name", name);
	}

	public String getName() {
		return (String) getValue("name");
	}

	public boolean hasName() {
		return hasValue("name");
	}

	public void addLearnStatus(LearnStatus[] learnStatuss) {
		values.put("learnStatus", learnStatuss);
	}

	public LearnStatus[] getLearnStatus() {
		return (LearnStatus[]) getValue("learnStatus");
	}

	public boolean hasLearnStatus() {
		return hasValue("learnStatus");
	}

	public void addConsultStarred(boolean[] consultStarreds) {
		values.put("consultStarreds", consultStarreds);
	}

	public boolean[] getConsultStarred() {
		return (boolean[]) getValue("consultStarreds");
	}

	public Boolean[] getConsultStarredB() {
		return ArrayUtils.toObject((boolean[]) getValue("consultStarreds"));
	}

	public boolean hasConsultStarred() {
		return hasValue("consultStarreds");
	}

	public void addConsultant(String[] consultant) {
		values.put("consultant", consultant);
	}

	public String[] getConsultant() {
		return (String[]) getValue("consultant");
	}

	public boolean hasConsultant() {
		return hasValue("consultant");
	}

	public void addTutor(String[] tutor) {
		values.put("tutor", tutor);
	}

	public String[] getTutor() {
		return (String[]) getValue("tutor");
	}

	public boolean hasTutor() {
		return hasValue("tutor");
	}

	public void addCourse(String[] course) {
		values.put("course", course);
	}

	public String[] getCourse() {
		return (String[]) getValue("course");
	}

	public boolean hasCourse() {
		return hasValue("course");
	}

	public void setSignDate(TimePair timePair) {
		values.put("signDate", timePair);
	}

	public TimePair getSignDate() {
		return (TimePair) getValue("signDate");
	}

	public boolean hasSignDate() {
		return hasValue("signDate");
	}

	public void setCourseDate(TimePair timePair) {
		values.put("courseDate", timePair);
	}

	public TimePair getCourseDate() {
		return (TimePair) getValue("courseDate");
	}

	public boolean hasCourseDate() {
		return hasValue("courseDate");
	}
}
